package com.example.exceldemo.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.exceldemo.model.ParsedExcelDataEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

/**
 * Excel解析数据缓存DAO接口
 */
@Mapper
public interface ParsedExcelDataDao extends BaseMapper<ParsedExcelDataEntity> {

    /**
     * 根据文件哈希值查询数据
     *
     * @param fileHash 文件哈希值
     * @return Excel解析数据实体
     */
    @Select("SELECT * FROM parsed_excel_data WHERE file_hash = #{fileHash}")
    ParsedExcelDataEntity findByFileHash(@Param("fileHash") String fileHash);
    
    /**
     * 更新最后访问时间
     *
     * @param fileHash 文件哈希值
     * @return 更新记录数
     */
    @Update("UPDATE parsed_excel_data SET last_access_time = NOW() WHERE file_hash = #{fileHash}")
    int updateLastAccessTime(@Param("fileHash") String fileHash);
} 